package org.dydl.model.system;


import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * ORDERS
 * 
 * @author 张华城
 * @version 1.0.0 2017-12-11
 */
@Entity
@Table(name="orders")
public class Orders implements Serializable {
	
	
	
    /** 版本号 */
    private static final long serialVersionUID = 8048118522033263347L;

    
    
    
    /** id */
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    /** uuid */
    
//  @GeneratedValue(generator = "uuid")
//	@GenericGenerator(name = "uuid", strategy = "uuid")
    private String uuid;

    /** 订单号 */
    private String orderNo;

    /** 下单日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date orderDate;

    /** 支付方式 */
    private String paymentTerms;

    /** 装运条款 */
    private String shipmentTerms;

    /** 装运方式（海运，空运） */
    private String shipmentMethod;

    /** 客户uuid */
    private String customerUuid;

    /** 收货人地址 */
    private String shippingAddress;

    /** 账单地址 */
    private String billAddress;

    /** 发票地址 */
    private String sendinvoiceAddress;

    /** 发票号 */
    private Integer sendinvoiceNo;

    /** 提运单号 */
    private Integer deliveryNo;

    /** 总数量 */
    private Integer totalQuantity;

    /** 总金额 */
    private Integer amount;

    /** 币制 */
    private String currency;

    /** 审核状态 */
    private Integer examineStatus;

    /** 生产入库状态 */
    private Integer ydGoodsYieldStatus;

    /** 送货出库状态 */
    private Integer deliveriesStatus;

    /** 生产指令状态 */
    private Integer productionInstructionStatus;
    
    /** 客户名称*/
    private String customerName;
    
    /** 流水号*/
    private String serialNo;
    
    /** 邮箱*/
    private String email;
    
    /** 创建时间*/
    private Date createDate; 
    
    public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getSerialNo() {
		return serialNo;
	}

	public void setSerialNo(String serialNo) {
		this.serialNo = serialNo;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	/**
     * 获取id
     * 
     * @return id
     */
    public Integer getId() {
        return this.id;
    }

    /**
     * 设置id
     * 
     * @param id
     *          id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取uuid
     * 
     * @return uuid
     */
    public String getUuid() {
        return this.uuid;
    }

    /**
     * 设置uuid
     * 
     * @param uuid
     *          uuid
     */
    
//    @GeneratedValue(generator = "uuid")
//	@GenericGenerator(name = "uuid", strategy = "uuid")
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    /**
     * 获取订单号
     * 
     * @return 订单号
     */
    public String getOrderNo() {
        return this.orderNo;
    }

    /**
     * 设置订单号
     * 
     * @param orderNo
     *          订单号
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 获取下单日期
     * 
     * @return 下单日期
     */
//    @Basic
//    @JsonFormat(locale = "zh",timezone = "GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    public Date getOrderDate() {
        return this.orderDate;
    }

    /**
     * 设置下单日期
     * 
     * @param orderDate
     *          下单日期
     */
    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    /**
     * 获取支付方式
     * 
     * @return 支付方式
     */
    public String getPaymentTerms() {
        return this.paymentTerms;
    }

    /**
     * 设置支付方式
     * 
     * @param paymentTerms
     *          支付方式
     */
    public void setPaymentTerms(String paymentTerms) {
        this.paymentTerms = paymentTerms;
    }

    /**
     * 获取装运条款
     * 
     * @return 装运条款
     */
    public String getShipmentTerms() {
        return this.shipmentTerms;
    }

    /**
     * 设置装运条款
     * 
     * @param shipmentTerms
     *          装运条款
     */
    public void setShipmentTerms(String shipmentTerms) {
        this.shipmentTerms = shipmentTerms;
    }

    /**
     * 获取装运方式（海运，空运）
     * 
     * @return 装运方式（海运
     */
    public String getShipmentMethod() {
        return this.shipmentMethod;
    }

    /**
     * 设置装运方式（海运，空运）
     * 
     * @param shipmentMethod
     *          装运方式（海运
     */
    public void setShipmentMethod(String shipmentMethod) {
        this.shipmentMethod = shipmentMethod;
    }

    /**
     * 获取客户uuid
     * 
     * @return 客户uuid
     */
    public String getCustomerUuid() {
        return this.customerUuid;
    }

    /**
     * 设置客户uuid
     * 
     * @param customerUuid
     *          客户uuid
     */
    public void setCustomerUuid(String customerUuid) {
        this.customerUuid = customerUuid;
    }

    /**
     * 获取收货人地址
     * 
     * @return 收货人地址
     */
    public String getShippingAddress() {
        return this.shippingAddress;
    }

    /**
     * 设置收货人地址
     * 
     * @param shippingAddress
     *          收货人地址
     */
    public void setShippingAddress(String shippingAddress) {
        this.shippingAddress = shippingAddress;
    }

    /**
     * 获取账单地址
     * 
     * @return 账单地址
     */
    public String getBillAddress() {
        return this.billAddress;
    }

    /**
     * 设置账单地址
     * 
     * @param billAddress
     *          账单地址
     */
    public void setBillAddress(String billAddress) {
        this.billAddress = billAddress;
    }

    /**
     * 获取发票地址
     * 
     * @return 发票地址
     */
    public String getSendinvoiceAddress() {
        return this.sendinvoiceAddress;
    }

    /**
     * 设置发票地址
     * 
     * @param sendinvoiceAddress
     *          发票地址
     */
    public void setSendinvoiceAddress(String sendinvoiceAddress) {
        this.sendinvoiceAddress = sendinvoiceAddress;
    }

    /**
     * 获取发票号
     * 
     * @return 发票号
     */
    public Integer getSendinvoiceNo() {
        return this.sendinvoiceNo;
    }

    /**
     * 设置发票号
     * 
     * @param sendinvoiceNo
     *          发票号
     */
    public void setSendinvoiceNo(Integer sendinvoiceNo) {
        this.sendinvoiceNo = sendinvoiceNo;
    }

    /**
     * 获取提运单号
     * 
     * @return 提运单号
     */
    public Integer getDeliveryNo() {
        return this.deliveryNo;
    }

    /**
     * 设置提运单号
     * 
     * @param deliveryNo
     *          提运单号
     */
    public void setDeliveryNo(Integer deliveryNo) {
        this.deliveryNo = deliveryNo;
    }

    /**
     * 获取总数量
     * 
     * @return 总数量
     */
    public Integer getTotalQuantity() {
        return this.totalQuantity;
    }

    /**
     * 设置总数量
     * 
     * @param totalQuantity
     *          总数量
     */
    public void setTotalQuantity(Integer totalQuantity) {
        this.totalQuantity = totalQuantity;
    }

    /**
     * 获取总金额
     * 
     * @return 总金额
     */
    public Integer getAmount() {
        return this.amount;
    }

    /**
     * 设置总金额
     * 
     * @param amount
     *          总金额
     */
    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    /**
     * 获取币制
     * 
     * @return 币制
     */
    public String getCurrency() {
        return this.currency;
    }

    /**
     * 设置币制
     * 
     * @param currency
     *          币制
     */
    public void setCurrency(String currency) {
        this.currency = currency;
    }

    /**
     * 获取审核状态
     * 
     * @return 审核状态
     */
    public Integer getExamineStatus() {
        return this.examineStatus;
    }

    /**
     * 设置审核状态
     * 
     * @param examineStatus
     *          审核状态
     */
    public void setExamineStatus(Integer examineStatus) {
        this.examineStatus = examineStatus;
    }

    /**
     * 获取生产入库状态
     * 
     * @return 生产入库状态
     */
    public Integer getYdGoodsYieldStatus() {
        return this.ydGoodsYieldStatus;
    }

    /**
     * 设置生产入库状态
     * 
     * @param ydGoodsYieldStatus
     *          生产入库状态
     */
    public void setYdGoodsYieldStatus(Integer ydGoodsYieldStatus) {
        this.ydGoodsYieldStatus = ydGoodsYieldStatus;
    }

    /**
     * 获取送货出库状态
     * 
     * @return 送货出库状态
     */
    public Integer getDeliveriesStatus() {
        return this.deliveriesStatus;
    }

    /**
     * 设置送货出库状态
     * 
     * @param deliveriesStatus
     *          送货出库状态
     */
    public void setDeliveriesStatus(Integer deliveriesStatus) {
        this.deliveriesStatus = deliveriesStatus;
    }

    /**
     * 获取生产指令状态
     * 
     * @return 生产指令状态
     */
    public Integer getProductionInstructionStatus() {
        return this.productionInstructionStatus;
    }

    /**
     * 设置生产指令状态
     * 
     * @param productionInstructionStatus
     *          生产指令状态
     */
    public void setProductionInstructionStatus(Integer productionInstructionStatus) {
        this.productionInstructionStatus = productionInstructionStatus;
    }
}